Ext.define('Seq.app.ViewModel', {
	        override : 'Ext.app.ViewModel',
	        privates : {

		        applyStores : function(stores) {
			        var me = this, root = me.getRoot(), key, cfg, storeBind, stub, listeners, isStatic;

			        me.storeInfo = {};
			        me.listenerScopeFn = function() {
				        return me.getView().getInheritedConfig('defaultListenerScope');
			        };
			        for (key in stores) {
				        cfg = stores[key];
				        if (cfg.isStore) {
					        cfg.$wasInstance = true;
					        me.setupStore(cfg, key);
					        continue;
				        } else if (Ext.isString(cfg)) {
					        cfg = {
						        source : cfg
					        };
				        } else {
					        if (cfg.proxy && cfg.proxy.url) { // 处理URL中的路径参数
						        var params = Seq.data.proxy.API.applyUrl(cfg.proxy.url);
						        cfg.proxy.url = params.url;
					        }
					        cfg = Ext.apply({}, cfg);
				        }
				        // Get rid of listeners so they don't get considered as a bind
				        listeners = cfg.listeners;
				        delete cfg.listeners;

				        storeBind = me.bind(cfg, me.onStoreBind, me, {
					                trackStatics : true
				                });
				        if (storeBind.isStatic()) {
					        // Everything is static, we don't need to wait, so remove the
					        // binding because it will only fire the first time.
					        storeBind.destroy();
					        me.createStore(key, cfg, listeners);
				        } else {
					        storeBind.$storeKey = key;
					        storeBind.$listeners = listeners;
					        stub = root.createStubChild(key);
					        stub.setStore(storeBind);
				        }
				        // 路径参数放入到proxy.matchs
				        var store = me.data[key];
				        store.getProxy().matchs = params ? params.params : [];
			        }
		        }

	        }
        });